home *** CD-ROM | disk | FTP | other *** search
- VERSION 4.0.01 of Edinburgh Standard ML (core language)
- =======================================================
-
- This tape contains a version of the Standard ML core language for UNIX
- 4.xBSD as it appears in the The Definition of Standard ML Version 3
- (May 1989 - LFCS report ECS-LFCS-89-81)
-
- ==================================================================
- Please complete the licence agreement at the end of this file and
- return to LFCS.
- ==================================================================
-
- Before using the system, you will need to perform the following steps:
-
- 1) Create the abstract machine with the filename fam by renaming a file of
- the form fam.machine, if you are running on a Vax (ultrix), Sun (3 or 4),
- or Pyramid.
- For any other machine, you will need to run the command 'make fam' in the
- fam.src directory to create a fam file.
- 2) Edit "config.sml" if you want the ML system to read from a standard
- startup file when it begins. In the release, this is "/usr/lib/.smlrc"
- (duplicated in the release as ".smlrc"), which tries to open "~user/.smlrc"
- if this exists.
- 3) Run the command 'ml smlcore.exp.backup < config.sml' which should
- produce a file called smlcore.exp. This file should then be installed
- in a publicly accessible directory.
- 4) Alter the paths in the file ml to point to the directories containing
- the fam and smlcore.exp files. Install this file in a publicly
- accessible executables directory.
- 5) The system may then be invoked by executing the file ml.
-
-
- Source files of the abstract machine are in the directory fam.src.
- Rebuilding the fam, or porting to another machine, may be trivial or may be
- quite hard work, depending on how brain-damaged your hardware/OS/C compiler
- is. The changes should be localised to system.c and system.h via a number
- of #define statements - see what's already there. There's a revision history
- at the top of the main source file, fam.c.
-
- DIFFERENCES FROM PREVIOUS VERSIONS
- ----------------------------------
- (3.7)
- - Numerically labelled records have been implemented
- - singly labelled record pattern bug has been fixed
- - exceptions Match, Bind, Abs and Neg are implemented as in the
- language definition version 4
- (4.0)
- - Exception traceback mechanism introduced
- - GNU bash Readline library incorporated for interactive line editing
- ----------------------------------
-
- This version of Standard ML has a number of known deficiencies including...
-
- - The exhaustiveness checking does not always report warnings when it
- should. Furthermore, the algorithm used to check the patterns is
- exponential, although in many cases this is not a problem.
- The exhaustiveness checking is controlled by the CheckMatch flag
- in the Debug variable see the man pg for details.
-
- - Parse errors are not always very helpful!
-
- There are a few non-standard features that are available,
- including
-
- ExportML : string * string * string list -> unit
- This takes a file name, a banner message, and a list of files
- to load on start-up, and saves away the current state of the system
- in the file with the given file name. Assuming that a saved state
- was placed in file fred.exp, then it may be restarted by
- executing "ml fred.exp".
- Any streams that were open when the export occurred will fail
- with the error "stream link lost" if used when the state
- is reimported. 'New' versions of std_in and std_out may be
- obtained by calling the function stdio: unit -> (instream * outstream).
-
- Print and Debug are variables that affect the underlying compiler.
- They are records, and the field names should indicate what most
- of the fields do. See the man pg for details
-
-
- The SML core language environment contains various library functions
- which are described in the file LIBINFO.
-
- In addition to the built-in library functions, there are also
- library packages for array and byte_array manipulations. These
- packages can be loaded directly from the files core_array.sml
- and core_barray.sml respectively.
-
-
- Please report any comments/faults to
-
- Russ Green, Department of Computer Science,
- University of Edinburgh.
- EMAIL: rjg@uk.ac.ed.lfcs
-
-
- ========================================================================
-
- Laboratory for Foundations of Computer Science
- ----------------------------------------------
- Department of Computer Science - University of Edinburgh
-
- Standard ML Licence Agreement
- -----------------------------
- Return one copy of this document to LFCS Software Distribution at the
- address below and keep one copy for your records.
-
- LFCS, 031-667-1081 ext. 2987
- Department of Computer Science, Telex: 727442 (UNIVED G)
- University of Edinburgh, E-Mail:ml@uk.ac.ed.lfcs
- King's Buildings,
- Edinburgh, EH9 3JZ
- UK
-
- I, the licensee, agree to the conditions below in respect of the Standard ML
- System supplied by the Laboratory for Foundations of Computer Science of the
- University of Edinburgh.
-
-
- Signed: ____________________________ Date:________________________
-
- Name(printed): ____________________________________________________________
-
- Title: ____________________________________________________________
-
- Organisation: ____________________________________________________________
-
- Address: ____________________________________________________________
-
- ____________________________________________________________
-
- Telephone: __________________ Electronic Mail: ________________________
-
- Conditions of Licence:
-
- 1. Title to and copyright of the Standard ML System remains with the Laboratory
- for Foundations of Computer Science at the University of Edinburgh.
-
- 2. The ML System may be used freely within the licensee's organisation for
- research and educational purposes. Commercial and revenue earning use are
- excluded form this agreement. Evaluation for potential commercial use is
- permitted, but licencees are advised to contact LFCS in advance of this
- activity.
-
- 3. The licensee will not pass the ML System to anyone outside their
- organisation unless they are already signatories to this licence in which case
- the system may be copied to them under the same terms as this licence. No
- charge may be levied for this distribution.
-
- 4. The licensee accepts the ML system "as is". The University of Edinburgh
- makes no warranty in respect of the ML System. Nevertheless licensees are
- encouraged to report to LFCS any problems with or suggestions for improvement
- of the the ML System.
-
- 5. The licensee may modify the supplied ML System on condition that any
- significant changes are notified to LFCS and made available to LFCS such that
- they may be incorporated within future releases of the ML System and licenced
- under the conditions of this licence agreement. "Significant changes" will
- include, for example, changes to the language accepted by the system or ports
- to previously unsupported host computer types. Licencees are strongly advised
- to consult LFCS before starting such work in order to avoid duplication and to
- assess the feasibility of the work.
-
- 6. Licencees will acknowledge LFCS and The University of Edinburgh as the
- designers of the ML language and implementors of this implementation in any
- relevant document or publication.
-
-
-
-